package model

import (
	"todolist/database"

	"gorm.io/gorm"
)

type Todo struct {
	gorm.Model
	Title  string `gorm:"column:title"`
	Status bool   `gorm:"column:status"`
}

func CreateATodo(todo *Todo) (err error) {
	err = database.DB.Create(&todo).Error
	return
}

func GetAllTodo() (todoList []*Todo, err error) {
	if err = database.DB.Find(&todoList).Error; err != nil {
		return nil, err
	}
	return
}

func GetATodo(id string) (todo *Todo, err error) {
	if err = database.DB.Debug().Where("id=?", id).First(&todo).Error; err != nil {
		return nil, err
	}
	return
}

func UpdateATodo(todo *Todo) (err error) {
	err = database.DB.Save(todo).Error
	return
}

func DeleteATodo(id string) (err error) {
	err = database.DB.Debug().Where("id=?", id).Delete(&Todo{}).Error
	return
}
